package com.yxw.live_vod_boot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/** 
 * @author liuxin
 * @create 2023-11-29 09:26:10 
 * @description 直播平台人员信息 
 */
@Data
@TableName(value ="yx_sys_user")
@ApiModel(value = "直播平台人员信息" , description="yx_sys_user")
public class YxSysUserEntity  implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "user_id",type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="主键")
    private Long userId;

    @TableField(value="nick_name")
    @ApiModelProperty(value="人员昵称")
    private String nickName;

    @TableField(value="out_user_account")
    @ApiModelProperty(value="外部系统人员账号，id或者编码，用于外部交互")
    private String outUserAccount;

    @TableField(value="out_nick_name")
    @ApiModelProperty(value="外部人员昵称")
    private String outNickName;

    @TableField(value="user_name")
    @ApiModelProperty(value="人员名称")
    private String userName;

    @TableField(value="sex")
    @ApiModelProperty(value="性别 0：女 1：男")
    private Integer sex;

    @TableField(value="birthday")
    @ApiModelProperty(value="出生年月 yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @TableField(value="status")
    @ApiModelProperty(value="账号状态 1：启用 0：禁用")
    private Integer status;

    @TableField(value="head_url")
    @ApiModelProperty(value="头像路径")
    private String headUrl;

    @TableField(value="live_code")
    @ApiModelProperty(value="视频号")
    private String liveCode;

    @TableField(value="create_time")
    @ApiModelProperty(value="创建时间（注册时间）")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(value="update_time")
    @ApiModelProperty(value="更新时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(value="channel_id")
    @ApiModelProperty(value="所属渠道ID")
    private Long channelId;

    @TableField(value="channel_name")
    @ApiModelProperty(value="所属渠道名称")
    private String channelName;

    @TableField(value="channel_code")
    @ApiModelProperty(value="所属渠道编码")
    private String channelCode;

    @TableField(value="phone")
    @ApiModelProperty(value="电话号码")
    private String phone;

    @TableField(value="source")
    @ApiModelProperty(value="账号来源 0:接入注册  1：直播app注册")
    private Integer source;

    @JsonIgnore
    @TableField(value="pwd")
    @ApiModelProperty(value="登录密码")
    private String pwd;

    @JsonIgnore
    @TableField(value="pay_pwd")
    @ApiModelProperty(value="支付密码")
    private String payPwd;
}
